Methods and apparatus for transmitting position information among user terminals

ABSTRACT

A position coordinate receiving section obtains a position from a user terminal. A nearby user distributing section provides information about a source user terminal to a recipient user terminal. The nearby user distributing section controls whether or not to provide the information about the source user terminal to the recipient user terminal based on a position that is obtained from the recipient user terminal and a position obtained from the source user terminal. The position obtained from the source user terminal that is used in the control is a position outside an area set by a user of the source user terminal. Accordingly, a user is provided a way to prevent other users from knowing that the user is in a place specified by the user.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority from Japanese application JP2011-035403 filed on Feb. 22, 2011, the content of which is herebyincorporated by reference into this application.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a communication system, a communicationmethod, a program, and an information storage medium.

2. Description of the Related Art

There have been known game systems in which game terminals communicatewith each other by radio over a relatively short distance to directlyexchange game data. With a game system of this type, the direct exchangeof game data between game terminals sometimes happens accidentally whenthe users of the game terminals are just passing each other, andstrangers can thus exchange game data with each other without efforts.This also allows a user to be aware of the presence of other uses livingin the same area.

SUMMARY OF THE INVENTION

Regardless of whether a user intends to use the short-distance wirelesscommunication or not, the user benefits from improved convenience bybeing made aware through communication between game terminals of thepresence of other users living in the same area. However, some users maynot wish to let other users know of their presence in a particularplace. This applies not only to communication between game terminals butalso to general communication between information processing terminals.

The present invention has been made in view of the problem describedabove, and an object of the present invention is therefore to provide auser a way to prevent other users from knowing that the user is in aplace specified by the user.

In order to solve the above-mentioned problem, according to the presentinvention, there is provided a communication system, including: aposition obtaining unit that obtains a position from a user terminal;and an information providing unit that provides information about asource user terminal which is an information source to a recipient userterminal which receives information, in which the information providingunit controls whether or not to provide the information about the sourceuser terminal to the recipient user terminal based on a position that isobtained from the recipient user terminal and a position obtained fromthe source user terminal, and the position obtained from the source userterminal that is used in the control is a position outside an area setby a user of the source user terminal.

According to the present invention, there is also provided acommunication method, including: obtaining a position from a userterminal; and providing information about a source user terminal whichis an information source to a recipient user terminal which receivesinformation, in which the providing of the information includescontrolling whether or not to provide the information about the sourceuser terminal to the recipient user terminal based on a position that isobtained from the recipient user terminal and a position obtained fromthe source user terminal, and the position obtained from the source userterminal that is used in the control is a position outside an area setby a user of the source user terminal.

According to the present invention, there is also provided a programstored on a non-transitory computer-readable information storage mediumhaving instructions for execution by a computer, the program havinginstructions for: obtaining a position from a user terminal; andproviding information about a source user terminal which is aninformation source to a recipient user terminal which receivesinformation, wherein the providing of the information includescontrolling whether or not to provide the information about the sourceuser terminal to the recipient user terminal based on a position that isobtained from the recipient user terminal and a position obtained fromthe source user terminal, and wherein the position obtained from thesource user terminal that is used in the control is a position outsidean area set by a user of the source user terminal.

According to the present invention, there is also provided anon-transitory computer-readable information storage medium having aprogram executed by a computer stored thereon, the program havinginstructions for: obtaining a position from a user terminal; andproviding information about a source user terminal which is aninformation source to a recipient user terminal which receivesinformation, wherein the providing of the information includescontrolling whether or not to provide the information about the sourceuser terminal to the recipient user terminal based on a position that isobtained from the recipient user terminal and a position obtained fromthe source user terminal, and wherein the position obtained from thesource user terminal that is used in the control is a position outsidean area set by a user of the source user terminal.

According to the present invention, a position within an area set by theuser of the source user terminal is not used in control as to whether ornot to provide information on the source user terminal to the recipientuser terminal, and a user can thus prevent other users from knowing thatthe user is in a place specified by the user.

Further, according to an aspect of the present invention, the positionobtaining unit does not obtain, from the source user terminal, as aposition used in the control, a position inside the area set by the userof the source user terminal.

Further, according to an aspect of the present invention, the positionobtaining unit does not obtain, from the source user terminal, as aposition used in the control, a position within a given distance from aposition that is set by the user of the source user terminal.

Further, according to an aspect of the present invention, thecommunication system includes the source user terminal, the source userterminal includes a transmission unit that transmits a position to aserver which provides information to the recipient user terminal, andthe transmission unit does not transmit, to the server, as a positionused in the control, a position inside the area set by the source userterminal.

Further, according to an aspect of the present invention, the sourceuser terminal further includes a positioning unit that sequentiallycalculates positions of the source user terminal and sequentiallystoring the calculated positions in a position storing unit, and thetransmission unit transmits, to the server, as positions used in thecontrol, at least some of calculation results that are among a pluralityof calculation results stored in the position storing unit and thatindicate positions outside the area set by the user of the source userterminal.

BRIEF DESCRIPTION OF THE DRAWINGS

In the accompanying drawings:

FIG. 1 is an overall configuration diagram of a communication systemaccording to an embodiment of the present invention;

FIG. 2 is a diagram illustrating the external appearance of a userterminal;

FIG. 3 is a diagram illustrating an example of a main menu image;

FIG. 4 is a diagram illustrating the example of the main menu image;

FIG. 5 is a diagram illustrating an example of a travel route image;

FIG. 6 is a diagram illustrating a switch from the main menu image tothe travel route image;

FIG. 7 is a diagram illustrating an example of a radar image;

FIG. 8 is a diagram illustrating an example of a ranking image;

FIG. 9 is a diagram illustrating an example of a title profile image;

FIG. 10 is a diagram illustrating an example of a friend image;

FIG. 11 is a diagram illustrating an example of a status image;

FIG. 12 is a diagram illustrating an example of a settings image;

FIG. 13 is a diagram illustrating an example of a disclosure settingsimage;

FIG. 14 is a diagram illustrating an example of a privacy area settingsimage;

FIG. 15 is a diagram illustrating a switch from the title profile imageto the radar image;

FIG. 16 is a diagram illustrating an example of the main menu imagedisplayed again;

FIG. 17 is a diagram illustrating the arrangement of records that arecontained in the travel route image;

FIG. 18 is a diagram illustrating the arrangement of records that arecontained in the travel route image;

FIG. 19 is a function block diagram of the user terminal;

FIG. 20 is a diagram illustrating the configuration of a display controlsectiondisplay control section;

FIG. 21 is a diagram schematically illustrating data in a positioncoordinate storing section;

FIG. 22 is a diagram schematically illustrating data in a gameperformance data storing portion;

FIG. 23 is a flow chart illustrating processing of transmitting positioncoordinates and the like;

FIG. 24 is a function block diagram of a user position managementserver;

FIG. 25 is a diagram schematically illustrating data in an area-basedtitle ID storing unit;

FIG. 26 is a diagram schematically illustrating data in an area-baseduser ID storing sectionarea-based user ID storing section;

FIG. 27 is a diagram schematically illustrating data in a userinformation storing sectionuser information storing section;

FIG. 28 is a flow chart illustrating travel route image generatingprocessing;

FIG. 29 is a flow chart illustrating image switching processing; and

FIG. 30 is a diagram illustrating an example of a display imagemanagement table.

DETAILED DESCRIPTION OF THE INVENTION

An embodiment of the present invention is described in detail below withreference to the drawings.

FIG. 1 is an overall configuration diagram of a communication systemaccording to the embodiment of this invention. As illustrated in FIG. 1,the communication system includes a user position management server 12,an information server 14, and a plurality of user terminals (informationprocessing devices) 16 which are connected to a computer communicationnetwork 10 such as the Internet. The user position management server 12and the information server 14 are constituted mainly of known servercomputers, for example. Each user terminal 16 is a portable computergame system driven on a battery, and has a touch screen 16 a on thefront as illustrated in an exterior view of FIG. 2. The user terminal 16also has, as built-in components, a positioning unit 16 b, which usesGlobal Positioning System (GPS) to calculate the position (the latitudeand longitude) of the user terminal 16, a cellular phone communicationunit 16 c, which communicates data over a cellular phone network, and awireless LAN communication unit 16 d, which communicates data over awireless LAN. The user terminal 16 selectively uses one of the cellularphone communication unit 16 c and the wireless LAN communication unit 16d that is suitable for the communication environment to connect to thecomputer communication network 10, and communicates data with the userposition management information server 12 and the information server 14.

The user terminal 16 repeatedly calculates its own position with the useof satellite signals and holds the results of the positioning. The userterminal 16 may use other positioning methods as described later. Theuser terminal 16 also holds data that indicates game program executionperformance. The positioning results and the game execution performancedata are uploaded to the user position management server 12 manuallywhen the user operates the user terminal 16 to do so, or automaticallyat regular time intervals. The user position management server 12 holdspositioning results and execution performance data that are uploadedfrom many user terminals 16 in this manner. Each user terminal 16displays on the touch screen 16 a an image that indicates the travelroute of the user terminal 16 (see FIG. 5) based on the information heldon the user position management server 12 and the positioning resultsheld by itself.

FIG. 3 illustrates an example of a main menu image displayed on thetouch screen 16 a of the user terminal 16. The main menu image is thefirst image that is displayed after the user terminal 16 is activatedand an application program of this embodiment is executed. The main menuimage displays a base 20, which represents a base sheet, buttons 22, 24,26, 28, and 32, which are placed on the base 20, and a message 30. Thebuttons 22, 24, 26, 28, and 32 and the message 30 are placed in avirtual three-dimensional space with a gap between the base 20 and thebuttons and the message. The main menu image shows these objects viewedfrom a camera that is placed virtually in the same virtualthree-dimensional space. This image is generated with the use of a knownthree-dimensional computer graphics technology. The buttons 22, 24, 26,28, and 32 and the message 30 at this point are hatched, so that theuser can immediately understand that the buttons and the message arefloating above the base 20 (on the side of the virtual camera). In thisembodiment, objects floating above the base 20 are objects that the usercan operate as buttons by tapping the touch screen 16 a. After the mainmenu image is displayed, the application program (a display controlsectiondisplay control section 70) keeps determining at regular timeintervals whether or not programs associated with the buttons 22, 24,26, 28, and 32 and the message 30 can be executed. When the applicationprogram determines that the associated programs are executable, theobjects are placed at a given distance (“execution distance”) from thebase 20 as illustrated in FIG. 3. An object is placed close to the base20 in the manner the button 26 is displayed in FIG. 4 until itsassociated program is determined as executable. Specifically, thebuttons 22, 24, 26, 28, and 32 and the message 30 are placed close to orat a distance shorter than the execution distance (“non-executiondistance”) from the base 20 when their associated programs are notexecutable.

The button 22 is for displaying the travel route image which has beendescribed above. The button 24 is for displaying a friend image which isdescribed later. The button 26 is for displaying a status image. Thebutton 28 is for displaying a settings image. The message 30 displaysinformation associated with the buttons 22, 24, 26, and 28. Tapping thearea of the message 30 displays details of the message 30. The button 32is for uploading to the user position management server 12 thepositioning results and game execution performance data described above.The button 32 is placed at the execution distance from the sheet 20 whenthe positioning results and the performance data are ready to beuploaded, and until then, is placed close to or at the non-executiondistance from the base 20. Whether or not the positioning results andthe performance data are ready to be uploaded are determined by whetheror not data communication over the cellular phone communication unit 16c or the wireless LAN unit 16 d is possible and whether or not there isdata to be uploaded.

FIG. 5 illustrates an example of the travel route image. The travelroute image is displayed when the button 22 contained in the main menuimage of FIG. 4 is tapped. The whole travel route image actually has ashape that is longer in height than in width, and only a part of thetravel route image which is set to a display range is displayed on thetouch screen 16 a. The user can move the display range by making a givenoperation such as a flick on the touch screen 16 a, thereby causing thetouch screen 16 a to display any part of the whole travel route image.

The user terminal 16 repeatedly calculates its own position and holdsthe calculated positions. The travel route image displays record frames34, each of which contains an address letter string indicating a heldposition and a calculating date/time, in the order that the positionshave been calculated. Specifically, newer calculation results aredisplayed at the top. These record frames 34 are floated above a base 46and can be tapped. While the record frames 34 each containing an addressletter string and a calculating date/time are employed here asinformation indicating a calculated position, the information indicatinga calculated position may be a record frame 34 that contains only anaddress letter string or may be an address letter string alone. Theaddress letter string may be a full address including a street address,or may only be an administrative district name such as a state name, aprovince name, a city name, a town name, or a village name. Theinformation indicating a calculated position may also be an icon that isa design representing the position. The position information is obtainedby converting a calculated position as described later.

Although the positioning unit 16 b repeatedly calculates the position ofits own user terminal 16, the user terminal 16 keeps a record of a newlycalculated position only when the newly calculated position is at agiven distance (for example, 2 km) or more from the latest position thathas been held in the user terminal 16. The user terminal 16 does notkeep a record of a newly calculated position when the distance betweenthe newly calculated position and the latest held position is shorterthan the given distance. The user terminal 16 always holds only a givennumber of (twenty, for example) positioning results and, out of the heldpositioning results, selects some that are useful in displaying thetravel route of the user terminal 16. For instance, the user terminal 16calculates for each positioning result an evaluation value which is anincreasing function of the length of time elapsed from the lastpositioning time and the distance from a position obtained in the lastpositioning, and selects a given number of (ten, for example) highlyevaluated positioning results to include only the record frames 34 thatcorrespond to the selected positioning results in the travel routeimage. This way, the travel route image displays only significanttravels and therefore is easy to comprehend. In addition, becausedisplaying insignificant information is prevented, the touch screen 16 acan be used efficiently.

A situation image 34 a is displayed at the left of each record frame 34.The situation image 34 a indicates the number of other user terminals 16that have uploaded the same position to the user position managementserver 12, whether or not the user terminals 16 of friend users haveobtained by positioning and uploaded to the user position managementserver 12 the position that the user terminal 16 in question hasobtained by positioning and uploaded to the user position managementserver 12, and the like. This enables the user to grasp at a glance howmany other users carrying the user terminals 16 have been at eachposition and how many of the other users who have been at the positionare friends of the user. A title 36 of a featured game program is alsodisplayed in each record frame 34. A button 37 is also placed in thelower right corner of the travel route image. The button 37 is fordisplaying on the touch screen 16 a a ranking image, which is describedlater.

A white or black footprint image is displayed to the left of each recordframe 34. A white footprint image indicates that its associated recordframe 34 shows one of positioning results automatically calculated atregular time intervals. A black footprint image indicates that itsassociated record frame 34 shows the result of positioning that has beenexecuted manually by the user's operation. The record frame 34 that is asolid-line frame shows a positioning result and the like that have beenuploaded manually by the user's operation. The record frame 34 that is adashed-line frame shows a positioning result and the like that have beenuploaded automatically at regular time intervals.

As illustrated in FIG. 5, a vertically oblong area along the left edgeof the touch screen 16 a is a tab area 42 in which tab images 38 and 40are displayed. The tab images 38 and 40 are arranged in the order thatthe tabs' associated images have been displayed, starting from the topof the screen. A main area 44 is to the right of the tab area 42. Thetravel route image is placed in the main area 44 here. In the tab area42 which displays the plurality of tab images 38 and 40, the tab image38 associated with the main menu image is placed at the top, and the tabimage 40 associated with an image that is currently displayed in themain area 44 is placed at the bottom. The tab images 38 and 40 each havean icon that indicates which image is associated with the tab image.

When the button 22 in the main menu image of FIG. 3 is touched, thetravel route image and the tab image 40, which is associated with thetravel route image, appear from the right edge of the touch screen 16 aas illustrated in FIG. 6. The travel route image and the tab image 40slide leftward until the travel route image covers the main menu image.Accordingly, in the main area 44, the travel route image is displayedinstead of the main menu image. The tab image 40 enters the tab area 42.Other images described later appear on the touch screen 16 a in the samemanner. The tab image 38 which is associated with the main menu imageappears on the topmost part of the tab area 42 when one of the otherimages than the main menu image is displayed in the main area 44.

FIG. 7 illustrates a radar image which is displayed on the touch screen16 a when one of the record frames 34 is tapped in the travel routeimage of FIG. 5. The radar image, as does the travel route image,appears from the right edge of the touch screen 16 a along with a tabimage 54. A black circle which represents the user in question isdisplayed at the center of the radar image and avatar images 48 of otherusers whose privacy settings are set to “public” are displayed aroundthe black circle. The avatar images 48 are floated above a base 50 andcan be tapped. The radar image also displays small images 52 whichsuggest the presence of other users whose privacy settings are set to“private.” The display position of each avatar image on the touch screen16 a is determined based on a position actually calculated by thepositioning unit 16 b. In other words, based on a position calculated bythe positioning unit 16 b and uploaded to the user position managementserver 12, the user terminal 16 calculates the positions of other“public” users relative to its own position and, from the calculatedrelative positions, determines the display positions of the avatarimages 48 on the touch screen 16 a. The display positions of the smallimages 52 on the touch screen 16 a, on the other hand, are determined byrandom numbers.

FIG. 8 illustrates a ranking image which is displayed on the touchscreen 16 a when the user taps the button 37 in the radar image of FIG.7. The ranking image is displayed also when the button 37 contained inthe travel route image of FIG. 5 is tapped. Elements of the rankingimage are placed on a base 55. As illustrated in FIG. 8, the rankingimage displays the titles of game programs that have been played on theuser terminals 16 from which the same position as the user position ofthe user terminal 16 in question have been uploaded to the user positionmanagement server 12. The game titles are displayed in descending orderof the number of the user terminals 16 on which the game programs havingthose titles have been played. Displayed to the right of each title isthe number of user terminals 16 on which the game program having thetile has been played. The ranking image, too, on the whole has a shapethat is longer in height than in width, and only a part of the rankingimage which is set to a display range is displayed on the touch screen16 a. The user can move the display range by making a given operationsuch as a flick on the touch screen 16 a.

FIG. 9 illustrates a title profile image which is displayed on the touchscreen 16 a when the title 36 of one of game programs is tapped in theranking image of FIG. 8. The title profile image is displayed also whenone of the titles 36 is tapped in the travel route image of FIG. 5 orthe radar image of FIG. 7. The title profile image contains aninformation field which shows evaluations given by other users on thegame program having the tapped title 36, and other users' play status ofthe game program. Information in the information field is received from,for example, the information server 14. The title profile image containsbuttons 100, 102, and 104 placed on a base 57. When the button 100 istapped, a web browser is activated and a web page of an electroniccommerce site where the game title can be purchased is displayed on thetouch screen 16 a. When the button 102 is tapped, a web browser isactivated to access a search site with the game title as a search word,and a list of sites that distribute information about the game title isdisplayed on the touch screen 16 a. When the button 104 is tapped, a webbrowser is activated to access a map site, and a map pointing out theposition of a shop that sells software of the game title is displayed onthe touch screen 16 a. The title profile image, too, has a shape that islonger in height than in width, and only a part of the ranking imagewhich is set to a display range is displayed on the touch screen 16 a.The user can move the display range by making a given operation such asa flick on the touch screen 16 a.

FIG. 10 illustrates a friend image which is displayed on the touchscreen 16 a when the button 24 is tapped in the main menu image of FIG.3. As illustrated in FIG. 10, the friend image displays latestinformation about each friend. The latest information is received from,for example, the information server 14. The friend image, too, has ashape that is longer in height than in width, and only a part of theranking image which is set to a display range is displayed on the touchscreen 16 a. The user can move the display range by making a givenoperation such as a flick on the touch screen 16 a. The friend imagealso has a tab image 106 attached thereto.

FIG. 11 illustrates a status image which is displayed on the touchscreen 16 a when the button 26 is tapped in the main menu image of FIG.3. The status image shows information such as the number of positionsuploaded to the user position management server 12 and the total traveldistance. The information in the status image is received from theinformation server 14 or calculated on the user terminal 16. The statusimage also has a tab image 108 attached thereto.

FIG. 12 illustrates a settings image which is displayed on the touchscreen 16 a when the button 28 is tapped in the main menu image of FIG.3. The settings image also has a tab image 110 attached thereto.

When a user taps an area displayed as “disclosure settings” in thesettings image, a disclosure settings image illustrated as an example inFIG. 13 is displayed on the touch screen 16 a. The user can switch theirprivacy settings to one of “public” and “private” by tapping a check boxthat is placed to the right of an area displayed as “disclose youronline ID.” The disclosure settings image also has a tab image 112attached thereto.

When the user taps an area displayed as a privacy area in the disclosuresettings image with the private settings set to “public,” a privacy areasettings image illustrated as an example in FIG. 14 is displayed on thetouch screen 16 a. The user can set a given number of (for example, fiveat maximum) privacy areas in the privacy area settings image. In thisembodiment, the user terminal 16 stores the position coordinates(latitude and longitude) of the center point of each set privacy area atthis point. The privacy area settings image also has a tab image 114attached thereto. In this embodiment, the inside of a privacy area isseparated from the outside by a circle that corresponds to ageographical circular area having a diameter of 2 km.

A procedure of using a tab image to display an image in the main area 44which is already displayed is described. The user can tap one of the tabimages displayed in the tab area 42 to make the user terminal 16 displayagain in the main area 44 an image that is associated with the tappedtab image. For instance, in the case where the main menu image of FIG.3, the travel route image of FIG. 5, the radar image of FIG. 7, theranking image of FIG. 8, and the title profile image of FIG. 9 have beendisplayed in the main area 44 in the order stated, the tab images 38,40, 54, 56, and 58 which are respectively associated with these imagesare displayed in the tab area 42 in the same order from the top of thescreen. If the tab image 54 out of the displayed tab images is tapped,the display returns to FIG. 7. Specifically, the radar image which isassociated with the tab image 54 specified by the user is displayedagain in the main area 44. At this point, the tab images 56 and 58 whichhave appeared in the tab area 42 after the tapped tab image 54 aredeleted from the tab area 42.

Specifically, as illustrated in FIG. 15, the title profile image slidesrightward with the tab image 58 attached thereto and disappears from theright edge of the touch screen 16 a. After the tab image 58 and thetitle profile image start moving and before these images disappear, theranking image with the tab image 56 attached thereto also slidesrightward and disappears from the right edge of the touch screen 16 a.In the virtual three-dimensional space, images displayed in the mainarea 44 (objects on the base) are spaced apart from one another, andarranged in the order that the images have been displayed, with theimage that has been displayed last placed closest to the virtual cameraside. A tab image and its associated image are placed on the same plane.Therefore, when the image in the main area 44 moves by sliding, an imagethat has been displayed in the main area 44 immediately before themoving image appears. In this manner, the title profile image and theranking image, which have been displayed after the radar image which isassociated with the tab image 54 specified by the user, are movedtogether with the tab images 58 and 56 in the reverse order that theimages have been displayed, and the radar image which is associated withthe tab image 54 specified by the user is thereby displayed again in themain area 44. This helps the user to grasp which images have beendisplayed in the main area 44 in what manner.

When the tab image 38 displayed in the tab area 42 is tapped, the mainmenu image associated with the tab image 38 is displayed again in themain area 44 as illustrated in FIG. 16. The tab image 38 which has beendisplayed in the tab area 42 disappears at this point. Of the buttons22, 24, 26, and 28 displayed in the main menu image, an already tappedbutton is replaced with a reduced copy of the image that has beendisplayed in the main area 44 immediately before the main menu image isdisplayed again. Tapping the reduced image also causes the user terminal16 to display the travel route image, the friend image, the statusimage, or the settings image in the main area 44. Displaying the reducedimage helps the user to immediately grasp what operation has beenperformed. To display more tab images than the given number in the tabarea 42, the tab images are placed virtually by arranging the tab imagestwo-dimensionally in the up-down direction, and the tab area 42 displaysonly the given number of adjacent tab images at a time. Flicking the tabarea 42 causes the user terminal 16 to display another set of the givennumber of tab images in the tab area 42. The user can thus make the userterminal 16 display any already displayed image again in the main area44 by causing the tab area 42 to display the relevant tab image with aflick and then tapping this tab image. The size of each tab image is notreduced even though the number of tab images displayed in the tab area42 exceeds the given number, which makes it easy for the user to tap thetab images.

Processing of determining the position of each record frame 34 in thetravel route image of FIG. 5 is described. As illustrated in FIG. 5, therecord frames 34 are staggered in the left-right direction and are sideby side in the up-down direction. The staggering in the left-rightdirection is created in a manner that indicates the positioning time ofeach record frame 34. The gap between two adjacent record frames 34indicates the distance between positions that correspond to the recordframes 34 and whether or not the positioning time of one record frame 34and the positioning time of the other record frame 34 sandwich a giventime (for example, 3 a.m.).

To elaborate, as illustrated in FIG. 17, the display positions of therecord frames 34 have a given width in the left-right direction, and theleft edge of the given width corresponds to a given reference timewhereas the right edge of the given width corresponds to twenty-fourhours past the reference time. To display one record frame 34, the userterminal 16 obtains the positioning time of a position that correspondsto this record frame 34, and calculates the position of the positioningtime in the given width in the left-right direction. With the left edgeof the given width as the given reference time and the right edge of thegiven width as a time twenty-four hours past the given reference time,it is assumed that the distance from the left edge and the time elapsedfrom the given reference time have a linear relation. Specifically, apoint that is reached by moving away from the left edge of the givenwidth by alpha % corresponds to a time that is 24×(alpha)/100 hours pastthe given reference time. This enables the user to grasp an approximatepositioning time by just looking at the display position of the recordframe 34 in the left-right direction.

As illustrated in FIG. 18, when the gap between the position coordinatesof a position that corresponds to one record frame 34 and the positioncoordinates of a position that corresponds to its adjacent record frame34 is less than a given distance (for example, 10 km), these recordframes 34 are displayed with a zero-gap between the two. In other words,the two are displayed right next to each other. For instance, in FIG.18, the distance between the position coordinates of positions thatcorrespond to record frames 34-2 and 34-3 does not exceed 10 km, and therecord frames 34-2 and 34-3 are displayed next to each other without anygap between the two.

When the gap between the position coordinates of a position thatcorresponds to one record frame 34 and the position coordinates of aposition that corresponds to its adjacent record frame 34 is equal to ormore than the given distance, these record frames 34 are displayed witha linear gap which is determined by how much the given distance isexceeded. The gap between the displayed record frames 34 must not exceeda given upper limit gap Wmax. For instance, in FIG. 18, the distancebetween the position coordinates of a position that corresponds to arecord frame 34-1 and the position coordinates of a position thatcorresponds to the record frame 34-2 is equal to or more than 10 km, andthe displayed record frames 34-1 and 34-2 are spaced apart from eachother by a distance W1 (W1<=Wmax), which is calculated by subtracting 10km from the distance between the position coordinates and thenmultiplying the difference by a given coefficient.

In the case where the positioning time of one record frame 34 and thepositioning time of its adjacent record frame 34 sandwich a given time(for example, 3 a.m.), these record frames 34 are displayed with a gapthat is a given fraction (20%, for example) of the upper limit gap Wmax.The gap between the displayed record frames 34 must not exceed the upperlimit Wmax in this case, too. For instance, in FIG. 18, the distancebetween the position coordinates of a position that corresponds to therecord frame 34-3 and the position coordinates of a position thatcorresponds to a record frame 34-4 is less than 10 km but thepositioning time of the record frame 34-3 and the positioning time ofthe record frame 34-4 sandwich 3 a.m., and the displayed record frames34-3 and 34-4 are spaced apart from each other by a distance W2(W2<=Wmax), which is a given fraction of the given upper limit gap Wmax.With the travel route image designed in the manner described above, theuser can know the gap between the position coordinates of a positionthat corresponds to one record frame 34 and the position coordinates ofa position that corresponds to its adjacent record frame 34, and thepositioning dates of the record frames 34, just by looking at the gapbetween the displayed record frames 34.

The configuration of the communication system described above isdescribed in more detail. FIGS. 19 and 20 are function block diagrams ofeach user terminal 16. As illustrated in FIG. 19, the user terminal 16includes as functional components a positioning section 60, a positioncoordinate storing section 62, a settings information storing section63, a position coordinate transmitting section 64, an applicationexecuting section 66, a game performance storing section 68, the displaycontrol sectiondisplay control section 70, and an item communicationsection 72. The display control sectiondisplay control section 70includes, as illustrated in FIG. 20, a travel route image generatingsection 70 a, a friend image generating section 70 b, a ranking imagegenerating section 70 c, a radar image generating section 70 d, a titleprofile image generating section 70 e, a status image generating section70 f, and a settings image generating section 70 g. These functioncomponents are implemented by executing a program according to theembodiment of the present invention on the user terminal 16, which is acomputer game system. This program may be downloaded from anothercomputer via the computer communication network 10, or may be stored ina computer-readable information storage medium such as a CD-ROM or aDVD-ROM to be installed in the user terminal 16. In the latter case, theuser terminal 16 has a built-in or external medium reading device forreading the program out of the medium.

The positioning section 60 is constituted mainly of the positioning unit16 b. The positioning section 60 periodically (for example, every thirtyminutes) activates the positioning unit 16 b to receive satellitesignals (GPS signals) and generate position coordinates (latitude andlongitude) from the received signals. The positioning section 60 mayactivate the positioning unit 16 b to receive satellite signals andgenerate position coordinates from the received signals also when theuser gives via the touch screen 16 a an explicit instruction to performpositioning. Alternatively, the positioning section 60 may obtain theposition coordinates of the user terminal 16 based on identificationinformation and other types of necessary information of a wirelessaccess point with which the wireless LAN communication unit 16 d cancommunicate. For instance, a not-shown server stores in advanceidentification information of a wireless access point in associationwith position coordinates, and the positioning section 60 transmitsidentification information to the server to obtain position coordinatesthat are associated with the identification information. The positioningsection 60 may transmit, to the server, identification information of aplurality of wireless access points and the intensity of radio wavesfrom each wireless access point. The server in this case performsweighting based on the radio wave intensity, combines the positioncoordinates of the wireless access points to calculate the positioncoordinate of the user terminal 16, and returns the calculatedcoordinates to the positioning section 60. Similarly, the positioncoordinates of the user terminal 16 may be obtained based onidentification information and other types of necessary information of acellular phone base station with which the cellular phone communicationunit 16 c can communicate. Instead of the positioning section 60obtaining the position coordinates of the user terminal 16 andtransmitting the obtained coordinates to the user position managementserver 12, the user position management server 12 may obtain positioncoordinates indicated by identification information and other types ofnecessary information of a wireless access point or a cellular phonebase station that are transmitted from the positioning section 60.

As illustrated in FIG. 21, the position coordinate storing section 62stores a given number of (for example, twenty) position coordinate setsand calculating dates/times of the position coordinates in associationwith each other. The positioning section 60 reads position coordinatesstored last in the position coordinate storing section 62 each time newposition coordinates are generated, and calculates the distance betweenthe newly generated position coordinates and the read positioncoordinates. When the calculated distance is equal to or more than agiven distance (for example, 2 km), the position coordinate storingsection 62 stores the newly generated position coordinates along withthe calculating date/time of the position coordinates. At this point,position coordinates that have been stored longer than a given number ofdays (seven days, for example) are deleted along with the calculatingdate/time of the expired position coordinates. If the positioncoordinate storing section 62 is storing the given number of positioncoordinate sets in association with their calculating dates/times andnone of the position coordinate sets have been stored longer than thegiven number of days, the oldest position coordinates and theircalculating date/time are deleted in order to store newly generatedposition coordinates and their calculating date/time instead. When thedistance between the newly generated position coordinates and the readposition coordinates is less than the given distance, on the other hand,the new position coordinates are discarded instead of being stored inthe position coordinate storing section 62.

The application executing section 66 executes an application programsuch as a game program. The application program may be downloaded fromanother computer via the computer communication network 10 or may bestored in a computer-readable information storage medium such as aCD-ROM or a DVD-ROM to be installed in the user terminal 16.

As illustrated in FIG. 22, the game performance storing section 68stores a title ID, a viewing level, a total play time, and a last playdate/time in association with each other for each of a given number of(for example, five) game programs that have been executed lately by theapplication executing section 66. The title ID is information foridentifying each game program. The total play time indicates the totallength of time the game program identified by the title ID has beenplayed. The viewing level is information indicating how enthusiastic theuser is about the game program which is calculated from such informationas the difference between the release date of the game program and thecurrent date, and the total play time. The last play date/time indicatesthe date/time (activation date/time or shutdown date/time) when the gameprogram has been played the last time.

The settings information storing section 63 stores various types ofinformation that indicates settings concerning the user. To give aconcrete example, the settings information storing section 63 storesprivacy settings data, which indicates the user's privacy settings (thevalue of which is “public” or “private”), and privacy area center pointdata, which indicates the position coordinates (latitude and longitude)of the center point of one of up through five privacy areas. The usercan set the values of the privacy settings data and the privacy areacenter point data to be stored in the settings information storingsection 63 by operating the disclosure settings image and the privacyarea settings image which are displayed on the touch screen 16 a.

The position coordinate transmitting section 64 uses the cellular phonecommunication unit 16 c or the wireless LAN communication unit 16 d totransmit, to the user position management server 12, the plurality ofposition coordinate sets and their calculating dates/times stored in theposition coordinate storing section 62, and the title IDs, viewinglevels, and total play times of the given number of game programs storedin the game performance storing section 68. This transmission may beexecuted when the user gives through the touch screen 16 a an explicitinstruction to transmit.

An example of the processing executed by the position coordinatetransmitting section 64 to transmit the position coordinates and othersto the user position management server 12 is described with reference toa flow chart example of FIG. 23.

The position coordinate transmitting section 64 first reads positioncoordinate sets and calculating dates/times out of the positioncoordinate storing section 62 (S101). The position coordinatetransmitting section 64 then selects a given number of positioncoordinate sets and their calculating dates/times suitable forrepresenting the user's travel route in the manner described above(S102). The position coordinate transmitting section 64 transmits, tothe user position management server 12, the position coordinate sets andtheir calculating dates/times selected in S102, and the title IDs,viewing levels, and total play times of the given number of gameprograms stored in the game performance storing section 68 (S103). Theprocessing of S103 is referred to as processing of uploading positioncoordinates and others in an anonymous mode.

The position coordinate transmitting section 64 determines whether ornot the user's privacy settings are set to “public” (S104). When theprivacy settings are not set to “public” (namely, “private”) (S104: N),the processing described in this processing example is ended. When theprivacy settings are set to “public” (S104: Y), the position coordinatetransmitting section 64 checks whether or not position coordinate setsand their calculating dates/times for which S106 and the subsequentsteps have not been executed are found among the position coordinatesand their calculating dates/times selected in S102 (S105). When thereare position coordinate sets and their calculating dates/times that meetthe condition (S105: Y), the position coordinate transmitting section 64selects one of the position coordinate sets for which the processingdescribed in this processing example has not been performed, and thecalculating date/time of the selected position coordinate set, as aprocessing subject (S106). The position coordinate transmitting section64 checks whether or not the position coordinate set selected in S106 iswithin one of the privacy areas (S107). In other words, the positioncoordinate transmitting section 64 checks whether or not there is aposition coordinate set that is within a given distance (for example, 1km) from the position coordinate set selected in S106 and that is set asthe value of the privacy area center point data (S107). When there is aposition coordinate set that meets the condition (S107: Y), theprocessing proceeds to S105. When there is no position coordinate setthat meets the condition (S107: N), the position coordinate transmittingsection 64 transmits, to the user position management server 12, theposition coordinate set selected in S106 and its calculating date/time,and the title IDs, viewing levels, and total play times of the givennumber of game programs stored in the game performance storing section68, in association with the user ID of the user who is using the userterminal 16 (S108). The position coordinate transmitting section 64 thenproceeds to S105. The processing of S108 is referred to as processing ofuploading position coordinates and others in an ID disclosing mode.

In the case where it is confirmed in S105 that position coordinate setsand their calculating dates/times for which S106 and the subsequentsteps have not been performed are not found among the selected positioncoordinate sets and their calculating dates/times (S105: N), theprocessing described in this processing example is ended.

It is preferred if the position coordinate transmitting section 64displays a plurality of position coordinate sets and their calculatingdates/times stored in the position coordinate storing section 62 on thetouch screen 16 a to check whether or not the user wishes to transmitthe displayed position coordinate sets and calculating dates/times. Theposition coordinate transmitting section 64 may be further capable ofremoving position coordinate sets and their calculating dates/times thatthe user does not wish to transmit and transmitting only the rest to theuser position management server 12. The user may set the user terminal16 to omit this checking. In this case, a plurality of positioncoordinate sets and their calculating dates/times stored in the positioncoordinate storing section 62 are transmitted automatically andperiodically (for example, once a day).

The display control sectiondisplay control section 70 and the itemcommunication section 72 are described later.

FIG. 24 is a function block diagram of the user position managementserver 12. As illustrated in FIG. 24, the user position managementserver 12 includes as functional components a position coordinatereceiving section 80, an area-based title ID storing section 82, anarea-based user ID storing sectionarea-based user ID storing section 84,a user information storing sectionuser information storing section 86, aranking generating section 88, an area-based ranking storing section 90,a ranking distributing section 92, a nearby user distributing section94, and a user information distributing section 96. These functioncomponents are implemented by executing the program according to theembodiment of the present invention on the user position managementserver 12, which is a computer. This program may be downloaded fromanother computer via the computer communication network 10, or may bestored in a computer-readable information storage medium such as aCD-ROM or a DVD-ROM to be installed in the user position managementserver 12.

The position coordinate receiving section 80 receives a plurality ofposition coordinate sets and their calculating dates/times and gameperformance data (title IDs, viewing levels, and total play times) ofthe given number of game programs which are transmitted from theposition coordinate transmitting section 64 of each user terminal 16.

As illustrated in FIG. 25, the area-based title ID storing section 82stores an area ID, a time slot, and a given number of (for example,twenty) game performance data pieces in association with one another.The area ID is information for identifying (specifying) each mesh cellarea created by dividing a management subject area (for example, theentire area covering the Earth) into a plurality of mesh cells. The timeslot is information for identifying a time range having a given lengthof time (for example, six hours). Each game performance data piececontains a title ID, a viewing level, and a total play time. In otherwords, the area-based title ID storing section 82 stores a given numberof (for example, twenty) game performance data pieces in associationwith an area ID and a time slot. For instance, when receiving aplurality of position coordinate sets and their calculating dates/timesand a given number of game performance data pieces from one userterminal 16 through the processing of uploading position coordinates andothers in the anonymous mode of S103 described above, the positioncoordinate receiving section 80 derives for each received positioncoordinate set the area ID of an area that contains the positioncoordinate set. The position coordinate receiving section 80 alsoderives a time slot that contains the calculating date/time of thereceived position coordinate set. The position coordinate receivingsection 80 stores the game performance data received from the userterminal 16 in the area-based title ID storing section 82 in associationwith the derived area ID and the derived time slot. If the given numberof game performance data pieces are already stored in a relevant part ofthe area-based title ID storing section 82 at this point, the oldestgame performance data is deleted and the game performance data receivedthis time is stored instead.

As illustrated in FIG. 26, the area-based user ID storingsectionarea-based user ID storing section 84 stores for each area ID auser ID, a position coordinate set, and a calculating date/time inassociation with one another. For instance, when receiving a pluralityof position coordinate sets and their calculating dates/times, and thetitle IDs, viewing levels, and total playtimes of a given number of gameprograms in association with a user ID from one user terminal 16 throughthe processing of uploading position coordinates and others in the IDdisclosing mode of S108 described above, the position coordinatereceiving section 80 derives for each received position coordinate setthe area ID of an area that contains the position coordinate set. Theuser ID of the user who is using the user terminal 16 and the receivedposition coordinate set and calculating date/time are stored in thearea-based user ID storing sectionarea-based user ID storing section 84in association with the derived area ID. A position coordinate set andits calculating date/time that has been stored longer than a givenlength of time (for example, one week) is deleted from the area-baseduser ID storing sectionarea-based user ID storing section 84.

As illustrated in FIG. 27, the user information storing sectionuserinformation storing section 86 stores a user ID, a latest positioncoordinate set, a calculating date/time, and a given number of (forexample, twenty) game performance data pieces in association with oneanother. For instance, when receiving a plurality of position coordinatesets and their calculating dates/times, and a given number of gameperformance data pieces in association with the user ID of one userterminal 16 through the processing of uploading position coordinates andothers in the ID disclosing mode of S108 described above, the positioncoordinate receiving section 80 stores the position coordinate setobtained last and its calculating date/times and the received givennumber of game performance data pieces in the user information storingsectionuser information storing section 86 in association of the user IDof the user who is using the user terminal 16.

The ranking generating section 88 generates the ranking of game titlesfor each area ID based on data stored in the area-based title ID storingsection 82. For instance, the number of game performance data piecesthat are stored on an area ID basis in the area-based title ID storingsection 82 in association with time slots within a given period of time(for example, past one month) are aggregated for each title ID, and topten titles are used to generate ranking. Data of this ranking includesthe total game performance data count (gross player count) of each titleID. Alternatively, viewing levels of game performance data that arestored on an area ID basis in the area-based title ID storing section 82in association with time slots within a given period of time (forexample, past one month) are averaged for each title ID, and top ten ofthe average values are used to generate ranking. Data of this ranking,too, includes the total game performance data count (gross playernumber) of each title ID. Data of the generated ranking is stored in thearea-based ranking storing section 90 in association with area IDs. Theranking distributing section 92 receives a set of position coordinatesfrom one user terminal 16, derives the area ID of an area that containsthe received position coordinate set, reads ranking that is stored inthe area-based ranking storing section 90 in association with thederived area ID, and returns the read ranking to the user terminal 16.

The nearby user distributing section 94 receives a set of coordinatesand the specification of a search area size from one user terminal 16,and sets as the search area a group of n×n (e.g., 1×1, 3×3, 5×5, 7×7,9×9, . . . , 25×25) areas that include the area containing the receivedposition coordinate set (for example, at the center point of the area).The variable n is determined by the specification of a search area sizereceived from the user terminal 16. The nearby user distributing section94 then reads every user ID and every position coordinate set that arestored in the area-based user ID storing sectionarea-based user IDstoring section 84 in association with the area ID of each areaconstituting the determined search area and returns the read user ID andposition coordinate set to the user terminal 16.

The user information distributing section 96 receives a user ID from oneuser terminal 16, and returns to the user terminal 16 the latestposition coordinate set, its calculation data, and a given number ofgame performance data pieces that are stored in the user informationstoring sectionuser information storing section 86 in association withthe received user ID. When the user of one user terminal 16 wishes tosee on the touch screen 16 a the title of a game that is being played bya specific user, the user receives this information from the userinformation distributing section 96.

Processing executed by each user terminal 16 to display various screensis described. The display control sectiondisplay control section 70 ofthe user terminal 16 includes, as described above, the travel routeimage generating section 70 a, the friend image generating section 70 b,the ranking image generating section 70 c, the radar image generatingsection 70 d, the title profile image generating section 70 e, thestatus image generating section 70 f, and the settings image generatingsection 70 g.

The travel route image generating section 70 a generates the travelroute image of FIG. 5. To generate the travel route image, the travelroute image generating section 70 a first reads position coordinate setsand their calculating dates/times out of the position coordinate storingsection 62 as illustrated in FIG. 28 (S201). The travel route imagegenerating section 70 a then selects a given number of positioncoordinate sets suitable for representing the user's travel route andtheir calculating dates/times in the manner described above (S202).

Next, the record frame 34 that has the oldest calculating date/time isplaced at a given position which is set in a lower part of the travelroute image (S203). The distance between position coordinates that havethe second oldest calculating date/time and position coordinates whosecalculating date/time precedes the second oldest calculating date/timeis calculated (S204). Based on the calculated distance, the gap to beplaced between the displayed record frames 34 is determined temporarily(S205). Specifically, the temporary gap is zero when the calculateddistance is less than a given reference distance. When the calculateddistance is equal to or more than the given reference distance, thetemporary gap is set to a value obtained by subtracting the givenreference distance from the calculated distance and multiplying thedifference by a given coefficient. However, if the temporary gap exceedsthe upper limit gap Wmax, the temporary gap is replaced with Wmax.

The travel route image generating section 70 a then determines whetheror not the calculating dates/times of the two record frames 34 sandwicha given time (S206) and, when the given time is sandwiched, a givenfraction of the upper limit gap Wmax is added to the temporary gap toupdate the temporary gap (S207). In this case, too, the temporary gap isreplaced with Wmax if the updated gap exceeds the upper limit gap Wmax.The temporary gap updated in this manner is used as the final gap indetermining the display position of the record frame 34. Specifically,the display position of the second oldest record frame is set to a pointthat is above the record frame of the position coordinates whosecalculating date/time immediately precedes the second oldest calculatingdate/time, and that is moved from the preceding record frame 34 by anamount equivalent to the gap calculated in S204 to S207. The displayposition of the second oldest record frame 34 in the left-rightdirection is determined based on the calculating time in the mannerillustrated in FIG. 17. The steps S204 to S208 are repeated until thedisplay position is determined for every record frame 34. Thereafter, animage of each record frame 34 is generated at the determined displayposition.

At this point, the travel route image generating section 70 a obtainsfor each position coordinate set an address letter string thatcorresponds to the position coordinate set. The address letter stringmay be stored in the user terminal 16 in advance in association with arange of position coordinates, or may be stored in the informationserver 14 in the same manner. In the latter case, when a set of positioncoordinates is transmitted to the information server 14, the informationserver 14 reads an address letter string associated with a range thatcontains the transmitted position coordinate set, and transmits the readaddress letter string to the user terminal 16. Address letter stringsobtained in this manner are included along with calculating dates/timesin the travel route image in the order of calculating date/time.

Next, the travel route image generating section 70 a transmits to theuser position management server 12 each position coordinate set selectedin S202 to request to generate ranking. In response to the request, theranking distributing section 92 of the user position management server12 derives the area ID of an area that contains the received positioncoordinate set, reads ranking that is stored in the area-based rankingstoring section 90 in association with the derived area ID, and returnsthe read ranking to the user terminal 16. In the case where rankingassociated with the same area ID has already been received from the userposition management server 12, the travel route image generating section70 a compares the already received ranking and the newly receivedranking. A game title with a rank that has increased most and a gametitle that has increased most in values that are the basis of theranking (the total game performance data count, an average value ofviewing levels, and the like) are included in the travel route image ashot titles (Reference Symbol 36). In the case where ranking associatedwith the same area ID has not been received yet from the user positionmanagement server 12, a game title that has the highest rank in thecurrently received ranking is included in the travel route image as ahot title.

The travel route image generating section 70 a transmits to the userposition management server 12 each position coordinate set stored in theposition coordinate storing section 62 and a size specification thatspecifies 1×1 area as the search area, thereby requesting the userposition management server 12 to search for nearby users. In response tothe request, the nearby user distributing section 94 of the userposition management server 12 derives the area ID of an area thatcontains the received position coordinate set, reads every user ID andevery position coordinate set that are stored in the area-based user IDstoring sectionarea-based user ID storing section 84 in association withthe derived area ID, and returns the read user ID and positioncoordinate set to the user terminal 16. The travel route imagegenerating section 70 a counts up the number of user IDs associated witheach position coordinate set, and displays as many situation images 34 aas the counted number of user IDs in the record frame 34 concerning theposition coordinate set.

The user terminal 16 stores the user IDs of friends of its own user.When the user ID of a friend stored in the user terminal 16 is includedamong user IDs transmitted from the nearby user distributing section 94of the user position management server 12, the user terminal 16 modifiesthe situation image 34 a in the record frame 34 that is associated withthe friend user ID in a manner that informs the user of the fact (forexample, by including an exclamation mark in the situation image 34 a).

The friend image generating section 70 b generates the friend image ofFIG. 10. To generate the friend image, the friend image generatingsection 70 b reads friend user IDs stored in the user terminal 16, andreceives latest information associated with the read user IDs from theinformation server 14. The latest information can be messages entered byfriend users from their user terminals 16 or other computers, andmessages automatically generated by game programs that are executed onthe user terminals 16 or other computers to indicate the game programexecution state (the progress of the game, the skill level of players,and the like). The latest information is included in lower areas ofentries in the friend image to complete the friend image. The friendimage generated in this manner is displayed by the touch screen 16 a.

The ranking image generating section 70 c generates the ranking image ofFIG. 8. The ranking image generating section 70 c transmits a positioncoordinate set specified by the user to the user position managementserver 12, and receives ranking data from the ranking distributingsection 92. The ranking image is generated based on the thus receivedranking data. The generated ranking image is displayed by the touchscreen 16 a. The ranking image generating section 70 c may receiveranking data concerning a plurality of position coordinate sets (forexample, all position coordinate sets) stored in the position coordinatestoring section 62 to add up for each title the values that are thebasis of ranking generation (the total game performance data count, anaverage value of viewing levels, and the like), generate ranking fromthe sum, and generate and display the ranking image. This way, the userterminal 16 can display comprehensive ranking at a plurality ofpositions that the user has visited (for example, all positions alongthe travel route). The user terminal 16 may also receive ranking dataconcerning one of position coordinate sets that are stored in theposition coordinate storing section 62 to generate and display theranking image for ranking in a single area based on the received data.

The title profile image generating section 70 e generates the titleprofile image of FIG. 9. The title profile image generating section 70 etransmits a title ID to the information server 14 and receivesinformation to be written in the information field. Based on the thusreceived information, the title profile image is generated. Thegenerated title profile image is displayed by the touch screen 16 a.

The status image generating section 70 f generates the status image ofFIG. 11.

The settings image generating section 70 g generates the settings imageof FIG. 12, the disclosure settings image of FIG. 13, and the privacyarea settings image of FIG. 14.

To generate the privacy area settings image, the settings imagegenerating section 70 g first obtains from the information server 14 amap of a given size that has the current position of the user at thecenter. The settings image generating section 70 g then selects in themanner described above a given number of position coordinate sets andtheir calculating dates/times from among position coordinate sets andtheir calculating dates/times stored in the position coordinate storingsection 62 that have not been transmitted by the position coordinatetransmitting section 64. For each position coordinate set selected, thesettings image generating section 70 g places an avatar image 116 of theuser who is using the user terminal 16 at a point on the map thatcorresponds to the position coordinate set, and places a letter stringindicating a calculating date/time that is associated with the positioncoordinate set near the avatar image 116. For each position coordinateset that is not selected, the settings image generating section 70 gplaces a small image 120 which is a cross mark at a point on the mapthat corresponds to the position coordinate set. The settings imagegenerating section 70 g also places a curve (represented by a dashedline in the example of FIG. 14) on the map to connect points on the mapthat correspond to the position coordinate sets stored in the positioncoordinate storing section 62 that have not been transmitted by theposition coordinate transmitting section 64, in ascending order of thecalculating dates/times associated with the position coordinate sets.The thus generated privacy area settings image is displayed on the touchscreen 16 a. In this manner, the user can know which position coordinatesets are to be transmitted along with other information in the nexttransmission of position coordinate sets and others to the user positionmanagement server 12. The settings image generating section 70 g thenplaces a circular image 122 which indicates the range of the privacyarea at the center of the touch screen 16 a.

The user can slide the circular image 122 in the privacy area settingsimage to shift the position of the circular image 122 in the directionin which the circular image is slid. Tapping the circular image 122 setsthe area inside the circular image 122 as a privacy area if the area hasnot been set as a privacy area (in other words, the position coordinatesof the center point of this area are stored as privacy area center pointdata), and cancels the privacy area setting of the area inside thecircular image 122 if the area has been set as a privacy area (in otherwords, privacy area center point data stored in association with thisarea is deleted from the settings information storing section 63).

When a privacy area is set, the settings image generating section 70 gdetermines for each position coordinate set selected as described abovewhether or not the distance from the center point of the privacy area iswithin a given range (for example, within 1 km). In the case where thesettings image generating section 70 g determines that the positioncoordinate set indicates a position within the given range from thecenter point, the avatar image 116 of the user who is using the userterminal 16 is changed to an avatar image 118, which represents ananonymous user, at a corresponding point in the privacy area settingsimage. When the privacy area setting of an area is cancelled, thesettings image generating section 70 g determines for each positioncoordinate set selected as described above whether or not the distancefrom the center point of the cancelled privacy area is within a givenrange (for example, within 1 km). In the case where the settings imagegenerating section 70 g determines that the position coordinate setindicates a position within the given range from the center point, theavatar image 118 which represents an anonymous user is changed to theavatar image 116 of the user who is using the user terminal 16, at acorresponding point in the privacy area settings image. In the privacyarea settings image of FIG. 14, the area inside the circular image 122is set as a privacy area. Accordingly, each avatar image in the areacovered by the circular image 122 is the avatar image 118 whichrepresents an anonymous user and each avatar image outside the areacovered by the circular image 122 is the avatar image 116 whichrepresents the user of the user terminal 16.

The user can thus know which position coordinates are processed by theprocessing of uploading position coordinates and others in the IDdisclosing mode and which position coordinates are not processed by theprocessing of uploading position coordinates and others in the IDdisclosing mode despite the privacy settings being set to “public.”

The radar image generating section 70 d generates the radar image ofFIG. 7. To generate the radar image, the radar image generating section70 d first transmits to the user position management server 12 a set ofcoordinates stored in the position coordinate storing section 62 that isspecified by the user and a size specification that specifies a 1×1 areaas the search area, and thereby requests a search for nearby users. Theradar image generating section 70 d then receives user IDs and sets ofposition coordinates that are sent from the nearby user distributingsection 94 of the user position management server 12 in response to therequest. If the number of the received user IDs is less than ten, theradar image generating section 70 d transmits to the user positionmanagement server 12 the same position coordinate set along with a sizespecification that specifies 2×2 areas as the search area, to therebyrequest a search for nearby users again. The radar image generatingsection 70 d repeatedly requests the user position management server 12to execute a search for nearby users until the number of user IDs andposition coordinate sets received reaches ten or higher, or until thesize of the search area reaches M×M (M is a given number) areas. Theradar image is generated based on user IDs and position coordinate setsreceived from the nearby user distributing section 94 in this manner.Specifically, the radar image generating section 70 d calculates thedifference between the position coordinate set specified by the user andeach position coordinate set received from the nearby user distributingsection 94 to determine the display positions of the avatar images 48representing other users. In other words, the radar image generatingsection 70 d displays the avatar images 48 at positions that are basedon the positions of other user terminals 16 relative to the position ofits own user terminal 16. The user terminal 16 in this embodiment thusshows an approximate distance between its position coordinates and theposition coordinates of a nearby user whose privacy settings are set to“public” as the distance from the center point of the radar image to theavatar image 48 of the nearby user. The radar image generating section70 d also calculates the sum of gross player counts (the sum of grossplayer counts of all game titles) which are received from the rankingdistributing section 92 when the travel route image is generated, andplaces a number of small images 52 that is determined by the calculatedsum in the radar image at random. In this embodiment, the number of thesmall images 52 is larger when the sum of gross player counts is higher.The radar image generated in this manner, too, is displayed by the touchscreen 16 a. The user terminal 16 in this embodiment thus shows on theradar image an approximate number of users who are in the neighborhoodof its user and are playing computer games.

When the user taps one of the avatar images 48 in the radar image, theuser terminal 16 transmits to the user position management server 12 auser information distribution request in association with the user ID ofa user who is represented by the tapped avatar image 48. The userinformation distributing section 96 of the user position managementserver 12 returns a latest position coordinate set, a calculatingdate/time, and a given number of game performance data pieces that arestored in the user information storing sectionuser information storingsection 86 in association with the user ID about which the receivedrequest has been made. The user terminal 16 displays an image that isgenerated from this information on the touch screen 16 a.

As described, in this embodiment, the user position management server 12controls whether or not to provide information about the user terminal16 that is an information source to the user terminal 16 that is arecipient of information, based on position coordinates that areobtained from the source user terminal and stored in the area-based userID storing sectionarea-based user ID storing section 84 and positioncoordinates that are obtained from the recipient user terminal 16 andspecified by the user of the recipient user terminal 16. Informationstored in the area-based user ID storing sectionarea-based user IDstoring section 84 in this embodiment is based on position coordinatesand others transmitted from each user terminal 16 to the user positionmanagement server 12 through the processing of uploading positioncoordinates and others in the ID disclosing mode. This embodiment alsodoes not allow position coordinates inside a privacy area to betransmitted to the user position management server 12 in the processingof uploading position coordinates and others in the ID disclosing mode.Accordingly, the user position management server 12 uses positioncoordinates outside a privacy area in controlling whether to provideinformation about the user terminal 16 that is an information source tothe user terminal 16 that is a recipient of information.

As described, in this embodiment, position coordinates transmitted fromeach user terminal 16 in the ID disclosing mode are used to controlwhether or not to provide information about the user of the userterminal 16 that is an upload source to other user terminals 16.Position coordinates transmitted from each user terminal 16 in theanonymous mode, on the other hand, are used in the generation of rankingby the ranking generating section 88 but are not used to control whetherto provide information about the user of the user terminal 16 that is anupload source to other user terminals 16.

The item communication section 72 exchanges data such as an item used ina game program. The application executing section 66 generates an itemwhen a game program is executed, and stores identification informationof this item (an item ID) in the game performance storing section 68.Once an item ID is stored in the game performance storing section 68 inthis manner, the item communication section 72 transmits the item ID tothe user position management server 12 along with a relevant positioncoordinate set stored in the position coordinate storing section 62. Theuser position management server 12 stores the item ID and a relevantuser ID in association with the area IDs of areas that contain theposition coordinate set. The uploading of an item ID is completed inthis manner.

The item communication section 72 also performs processing of receivingan item ID that has been uploaded from another user. In this case, theitem communication section 72 transmits one of position coordinate setsstored in the position coordinate storing section 62 to the userposition management server 12. The user position management server 12returns an item ID and a user ID that are stored in association with thearea ID of an area containing the received position coordinate set. Theitem communication section 72 may store every item ID received in thismanner in the game performance storing section 68 to provide itemsidentified by the stored item IDs for use in game programs.Alternatively, the item communication section 72 may calculate thedegree of compatibility between its own user ID and a user ID receivedalong with an item ID to store the item ID in the game performancestoring section 68 only when the calculated degree of compatibility isequal to or larger than a given value and to provide an item identifiedby the stored item ID for use in a game program.

The display control sectiondisplay control section 70 displays a tabimage in the tab area 42 of the touch screen 16 a as described above,and performs image switching processing when the tab image is tapped orwhen an image of a button or other object placed in an image that isdisplayed in the main area 44. FIG. 29 is a flow chart illustrating theimage switching processing. As illustrated in FIG. 29, the displaycontrol sectiondisplay control section 70 first determines whether ornot the tab image has been tapped (S301) and then determines whether ornot an image of a button or other object in the main area 44 is tapped(S302). In the case where an image in the main area 44 is tapped, animage is generated by attaching a tab image to an image that isassociated with the tapped image (S303). The tab image is attached tothe left edge of the image specified by the user, and the attachmentposition in the up-down direction is determined by information in adisplay image management table of FIG. 30. The display image managementtable is a table for recording which images have been displayed in whatorder. The place in the display order of an image that is about to bedisplayed can be determined from the display image management table. Inthe case of the n-th image, a tab image is attached to the imagedisplayed in the main area 44 in a manner that places the top edge ofthe tab image at a point reached by multiplying the length of the tabimage in the longitudinal direction by (n−1) times. The display controlsectiondisplay control section 70 then causes the thus generated imageto appear from the right edge of the touch screen 16 a (S304). Thedisplay control sectiondisplay control section 70 also updates a displayimage table illustrated in FIG. 27.

When it is a tab image that is tapped (S301), tab images that aredisplayed in the tab area 42 after the tapped tab image and imagesassociated with these tab images are deleted (S306). Specifically, whichtab images are displayed in the tab area 42 after the tapped tab imageand which images are associated with the tab images are determined fromthe display management table. The display control sectiondisplay controlsection 70 slides, in order, rightward, the tab images that have lowerplaces in the display order and images associated with these tab imagesaccording to the display management table. These images are erased fromthe touch screen 16 a in this manner. Records corresponding to theerased tab images are then deleted from the display management table.

According to the communication system described above, a user can beaware of the presence of other users living in the same area withoutusing short-distance wireless communication. In addition, the trail ofpositions calculated by the positioning unit 16 b can be displayed in amanner easy for the user to comprehend without a map displayed on thetouch screen 16 a.

The present invention is not limited to the embodiment described above,and various modifications can be made to the invention. For instance,when position coordinates to be transmitted are inside one of privacyareas in the processing of uploading position coordinates and others inthe ID disclosing mode, the position coordinate transmitting section 64may transmit the position coordinates to the user position managementserver 12 in association with a “private” flag. The position coordinatereceiving section 80 may store the received position coordinates andother information in the area-based user ID storing sectionarea-baseduser ID storing section 84 in association with the “private” flag. Thenearby user distributing section 94 may be designed not to return a userID and a position coordinate set that are stored in association with the“private” flag to the user terminal 16. In this case, the rankinggenerating section 88 may generate the ranking of game titles based on,in addition to position coordinates and others that are transmitted fromthe user terminal 16 to the user position management server 12 in theanonymous mode, position coordinates and others that are transmittedfrom the user terminal 16 to the user position management server 12 inthe processing of uploading position coordinates and others in the IDdisclosing mode (including position coordinates and others that areassociated with the “private” flag). This way, the ranking generatingsection 88 can generate more detailed ranking than the one that isgenerated only from position coordinates and others that are transmittedfrom the user terminal 16 to the user position management server 12 inthe anonymous mode.

To give another example, the user may set the size and shape of aprivacy area. Data indicating the range of a privacy area is also notlimited to privacy area center point data. For instance, the settingsinformation storing section 63 may store privacy area center point datain association with information that indicates the size and shape of theprivacy area.

In the description given above, the area-based user ID storage portion84 accumulates the user IDs of users who have obtained positioncoordinates inside areas identified by their respective area IDs throughpositioning within a given period of time (for example, one week) anduploaded the position coordinates to the user position management server12. When the user terminal 16 transmits position coordinates to the userposition management server 12, the nearby user distributing section 94identifies the area ID of an area that contains the received positioncoordinates and returns a user ID and a position coordinate set that arestored in the area-based user ID storing sectionarea-based user IDstoring section 84 in association with the identified area ID. The userterminal 16 uses the returned information to generate the radar imageand display a message in the travel route image. In short, in theexample described above, information about the user terminals 16 thathave calculated positions in the same area by positioning within a givenperiod of time (for example, one week) is provided from the userposition management server 12.

In a modification example, on the other hand, the nearby userdistributing section 94 returns a calculating date/time in addition to auser ID and a position coordinate set that are stored in associationwith the identified area ID. In other words, the nearby userdistributing section 94 returns a user ID, a position coordination set,and a calculating date/time in combination. The user terminal 16 reads acalculating date/time of each position coordinate set out of theposition coordinate storing section 62 to select a calculating date/timereturned from the nearby user distributing section 94 that differs fromone of the read calculating dates/times by a given length of time orless, and displays information related to a returned combination thatincludes this calculating date/time. For instance, the user terminal 16receives from the information server 14 information (e.g., latestinformation) about a user who is identified by the user ID included inthe selected combination to display the information, and displays theavatar image 48 that represents this user ID in the radar image.Alternatively, if the user ID included in the selected combination is afriend user ID stored in advance, the user terminal 16 may display amessage such as “found the footprints of your friend.” This enables theuser terminal 16 to display on the touch screen 16 a information aboutother user terminals 16 that have performed positioning inside the samearea within a given length of time from the time of its own positioning.The user terminal 16 may also calculate the difference between a storedcalculating date/time and a returned calculating date/time and thedifference between a stored position coordinate set and a returnedposition coordinate set to select a returned combination whosecalculating date/time differs from a stored calculating date/time by agiven length of time or less and whose position coordinate set differsfrom a stored position coordinate set by a given distance or less, andto display information about the selected combination. This way, theuser terminal 16 can display on the touch screen 16 a information aboutother user terminals 16 that are deduced to have been close in time andspace both.

In another modification example, when the user terminal 16 transmits aset of position coordinates to the user position management server 12,the nearby user distributing section 94 identifies the area ID of anarea that contains the received position coordinates and reads acombination of a user ID and a position coordinate set that is stored inthe area-based user ID storing sectionarea-based user ID storing section84 in association with the identified area ID. The nearby userdistributing section 94 selects a read combination whose positioncoordinate set differs from the position coordinate set transmitted fromthe user terminal 16 by a given distance or less. The nearby userdistributing section 94 returns the selected combination to the userterminal 16. Based on the returned information, the user terminal 16generates the radar image and displays a message on the travel routeimage. This way, the user terminal 16 can display on the touch screen 16a only information about other user terminals 16 that have performedpositioning within a given distance from itself.

In still another modification example, the user terminal 16 transmits aset of position coordinates and its calculating date/time to the userposition management server 12. The nearby user distributing section 94identifies the area ID of an area that contains the received positioncoordinates, and reads a combination of a user ID, a position coordinateset, and a calculating date/time that is stored in the area-based userID storing sectionarea-based user ID storing section 84 in associationwith the identified area ID. The nearby user distributing section 94selects a read combination whose calculating date/time differs from thecalculating date/time transmitted from the user terminal 16 by a givenlength of time or less, and returns the selected combination to the userterminal 16. Alternatively, the nearby user distributing section 94selects a combination whose calculating date/time differs from thereceived calculating time by a given length of time or less and whoseposition coordinate set differs from the received position coordinateset by a given distance or less, and returns the selected combination tothe user terminal 16. Based on the returned information, the userterminal 16 generates the radar image and displays a message on thetravel route image. This way, the user terminal 16 can display on thetouch screen 16 a information about other user terminals 16 that arededuced to have been close in time and space both.

In yet still another modification example, the area-based user IDstoring sectionarea-based user ID storing section 84 stores, for eachcombination of an area ID and its associated time slot, a user ID, aposition coordinate set, and a calculating date/time that are associatedwith the user terminal 16 that has calculated, by positioning, aposition inside an area identified by the area ID at a date/time withinthe time slot. The user terminal 16 transmits a set of positioncoordinates and its calculating date/time to the user positionmanagement server 12. The nearby user distributing section 94 identifiesthe area ID of an area that contains the received position coordinates,and identifies a time slot that contains the received calculatingdate/time. The nearby user distributing section 94 returns a combinationof a user ID, a position coordinate set, and a calculating date/timethat is stored in the area-based user ID storing sectionarea-based userID storing section 84 in association with the identified area ID and theidentified time slot. Based on the returned information, the userterminal 16 generates the radar image and displays a message on thetravel route image. This way, the user terminal 16 can display on thetouch screen 16 a information about other user terminals 16 that arededuced to have been close in time and space both.

While there have been described what are at present considered to becertain embodiments of the invention, it will be understood that variousmodifications may be made thereto, and it is intended that the appendedclaims cover all such modifications as fall within the true spirit andscope of the invention.

What is claimed is:
 1. A communication system, comprising: a positioningunit that sequentially calculates positions of a source user terminaland sequentially storing the calculated positions in a position storingunit of the source user terminal; a display control unit that displays amap on a display of the source user terminal, the map including an imageindicating a privacy area set by a user of the source user terminal, andimages which indicate candidate positions of the source user terminal,at least some of which were previously stored in, and obtained from, theposition storing unit, wherein a display mode in which any of the imagesindicating candidate positions inside the privacy area are displayed isdifferent from a display mode in which any of the images indicatingcandidate positions outside the privacy area are displayed; and atransmission unit that transmits only the candidate positions of thesource user terminal that are outside the privacy area to a server,wherein information about the source user terminal is provided to areceiving user terminal in accordance with a control based on a givenone of the candidate positions of the source user terminal that wastransmitted to the server and a relative position of the receiving userterminal to such given one of the candidate positions of the source userterminal.
 2. The communication system according to claim 1, furthercomprising: a position obtaining unit that obtains a position from thesource user terminal and a position from the recipient user terminal;and an information providing unit that provides position informationabout the source user terminal, wherein the position obtaining unit doesnot obtain, from the source user terminal, as a position used in thecontrol, a position within a given distance from a position that is setby the user of the source user terminal.
 3. A communication method,comprising: sequentially calculating positions of a source user terminaland sequentially storing the calculated positions in a position storingunit of the source user terminal; displaying a map on a display of thesource user terminal, the map including an image indicating a privacyarea set by a user of the source user terminal, and images whichindicate candidate positions of the source user terminal, at least someof which were previously stored in, and obtained from, the positionstoring unit, wherein a display mode in which any of the imagesindicating candidate positions inside the privacy area are displayed isdifferent from a display mode in which any of the images indicatingcandidate positions outside the privacy area are displayed; andtransmitting only the candidate positions of the source user terminalthat are outside the privacy area to a server, providing informationabout the source user terminal to a receiving user terminal inaccordance with a control based on a given one of the candidatepositions of the source user terminal that was transmitted to the serverand a relative position of the receiving user terminal to such given oneof the candidate positions of the source user terminal.
 4. A programstored on a non-transitory computer-readable information storage mediumhaving instructions for execution by a computer, the program havinginstructions for: sequentially calculating positions of a source userterminal and sequentially storing the calculated positions in a positionstoring unit of the source user terminal; displaying a map on a displayof the source user terminal, the map including an image indicating aprivacy area set by a user of the source user terminal, and images whichindicate candidate positions of the source user terminal, at least someof which were previously stored in, and obtained from, the positionstoring unit, wherein a display mode in which any of the imagesindicating candidate positions inside the privacy area are displayed isdifferent from a display mode in which any of the images indicatingcandidate positions outside the privacy area are displayed; andtransmitting only the candidate positions of the source user terminalthat are outside the privacy area to a server, providing informationabout the source user terminal to a receiving user terminal inaccordance with a control based on a given one of the candidatepositions of the source user terminal that was transmitted to the serverand a relative position of the receiving user terminal to such given oneof the candidate positions of the source user terminal.
 5. Anon-transitory computer-readable information storage medium having aprogram executed by a computer stored thereon, the program havinginstructions for: sequentially calculating positions of a source userterminal and sequentially storing the calculated positions in a positionstoring unit of the source user terminal; displaying a map on a displayof the source user terminal, the map including an image indicating aprivacy area set by a user of the source user terminal, and images whichindicate candidate positions of the source user terminal, at least someof which were previously stored in, and obtained from, the positionstoring unit, wherein a display mode in which any of the imagesindicating candidate positions inside the privacy area are displayed isdifferent from a display mode in which any of the images indicatingcandidate positions outside the privacy area are displayed; andtransmitting only the candidate positions of the source user terminalthat are outside the privacy area to a server, providing informationabout the source user terminal to a receiving user terminal inaccordance with a control based on a given one of the candidatepositions of the source user terminal that was transmitted to the serverand a relative position of the receiving user terminal to such given oneof the candidate positions of the source user terminal.